// pages/issue/issue.js
const DB=wx.cloud.database().collection("dataList");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    Gift:'money',
    date:'选择日期',
    user:'',
    event:'',
    money:'',
    Man:'give',
    isDisabled:'true'
  },

  /**监听用户转发小程序 */
  onShareAppMessage(){
    console.log(e);
    return{
      title: '一个帮你记录上礼的小程序',
      path: "/pages/home/home",
      imageUrl:'http://ww1.sinaimg.cn/large/008cZqs9ly1gq68wok6g3j30dw0b4gqt.jpg'
    }
  },

  /**监听分享朋友圈 */
  onShareTimeline(){
    return{
      title: '一个帮你记录上礼的小程序',
      path: "/pages/home/home"
    }
  },

  /**日期 */
  handleDate(e){
    
    this.setData({
      date:e.detail.value
    })
  },

  /**礼物 */
  handleGift(e){
    this.setData({
      Gift:e.detail.value,
      money:''
    })
    this.disabled();
  },

  /**姓名 */
  handleuser(e){
    this.setData({
      user:e.detail.value
    })
    this.disabled();
  },

  disabled(){
    if(this.data.user!=''&&this.data.money!=''){
      this.setData({
        isDisabled:false
      })
    }else{
      this.setData({
        isDisabled:true
      })
    }
  },

  /**事件 */
  handleevent(e){
    this.setData({
      event:e.detail.value
    })
  },

  /**礼金或礼物 */
  handlemoney(e){
    this.setData({
      money:e.detail.value
    })
    this.disabled();
  },

  /**随礼方 */
  handleMan(e){
    this.setData({
      Man:e.detail.value
    })
  },

  /**提交数据 */
  formsubmit(e){
    const that=this;
    const openid=wx.getStorageSync('openid');

    const data={
      user:e.detail.value.user,// 对方姓名
      event:e.detail.value.event,// 事件
      date:that.data.date,//时间
      way:e.detail.value.way,//随礼的方式
      gift:e.detail.value.Gift,//金额或礼物名称
      man:e.detail.value.man,// 随礼的角色
      cheked:false
    }

    if(openid==''||openid==null){
      wx.showModal({
        title:'未登录',
        content:'是否进行登录？',
        success (res) {
          if (res.confirm) {
            wx.showLoading({
              title: '正在添加',
            })
            wx.getUserProfile({
              lang:'zh_CN',
              desc:'用于小程序内部登录',
              success(ret){
                // 将获取到的用户信息写入data中
                wx.setStorageSync('userInfo', ret.userInfo);
                that.getOpenid(ret.userInfo);

                DB.add({
                  data:data,
                  success(ret){
                    /**提示添加成功 */
                    wx.showToast({
                      title: '添加成功',
                      icon:'success',
                      duration:2000
                    });
            
                    /**关闭加载 */
                    wx.hideLoading();
            
                    /**跳转到主页 */
                    that.goHome();
                  }
                })
              },
              // 用户点了拒绝登录
              fail(){
                wx.hideLoading();
                wx.showToast({
                  title: '添加失败',
                  icon:'error',
                  duration:2000
                });
              }
            })
          } else if (res.cancel) {
            wx.showToast({
              title: '添加记录需要登录~',
              icon:'none'
            })
          }

        }
      })
    }else{
      wx.showLoading({
        title: '正在添加',
      })
      DB.add({
        data:data,
        success(ret){
          /**提示添加成功 */
          wx.showToast({
            title: '添加成功',
            icon:'success',
            duration:2000
          });
  
          /**关闭加载 */
          wx.hideLoading();
  
          that.goHome();
        }
      })
    }





    
    
  },
  
    /**跳转到主页 */
  goHome(){
    /**跳转到主页 */
    wx.showLoading({
      title: '加载中',
    })
    
    setTimeout(function () {
      wx.hideLoading()
      wx.switchTab({
        url: '/pages/home/home'
      })
    }, 1500)


  },

  // 获取openid
  getOpenid(userInfo){
    
    // 获取openid
    wx.cloud.callFunction({
      //云函数名
      name:'login',
      //回调函数
      success(res){
        // 将当前登录用户设置在缓存中
        wx.setStorageSync('openid', res.result.openid);
        const DD=wx.cloud.database().collection("userDate");
        // 通过openid查询云数据库中是否有该用户
        DD.where({
          _openid:res.result.openid
        }).get({
          success(res){
            // 如果查找到的结果长度是0，说明该用户是第一次登录，则需要进行保存
            if(res.data.length==0){
              console.log('该用户是新用户！');
              DD.add({
                data:{
                  nickName:userInfo.nickName,
                  city:userInfo.city,
                  country:userInfo.country,
                  language:userInfo.language
                }
              })
              
            }else{
              console.log('该用户是老用户了！');
            }
            // 登录成功
            wx.hideLoading();
          }
        })
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let date=new Date();
    let ret;
    let fmt="YYYY-mm-dd";
    const opt = {
        "Y+": date.getFullYear().toString(),        // 年
        "m+": (date.getMonth() + 1).toString(),     // 月
        "d+": date.getDate().toString()            // 日
        // 有其他格式化字符需求可以继续添加，必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        };
    };

    this.setData({
      date:fmt
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})